/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sa_prakt1.bl.services.interfaces;

import java.util.List;
import sa_prakt1.bl.entity.interfaces.Entry;
import sa_prakt1.bl.entity.interfaces.Forum;
import sa_prakt1.bl.entity.interfaces.Member;

/**
 * Diese Klasse dient als Fassade der Anwendungsschicht. Sie bietet
 * entsprächende BL-Methoden zur Verwaltung von Member, Entry und
 * AbstractForum-Objekten.
 *
 * Zusätzlich dient Sie zur Persistenz der fachlichen Objekte.
 *
 * @author Andreas
 */
public interface Community extends java.io.Serializable{

    public boolean login(String nick, String pw);

    public void registerMemberInForum(Member m, Forum f);

    public void addForum(Member m, Forum f);

    public void addEntry(Member author, Forum forum, String title, String text);

    public void addMember(Member m);

    public List<Entry> findEntriesByAuthor(Member m);

    public List<Entry> findEntriesByTitle(String title);

    public SamCommCreator getCreator();

    public List<Forum> getForenlist();

    public List<Member> getMemberlist();
}
